using System.Collections.Generic;
using NServiceBus.Management.Managers.Impl;
using ObjectBuilder;

namespace NServiceBus.Management.Config
{
    public class ConfigManagement
    {
        public ConfigManagement(IBuilder builder)
        {
            config = new List<IComponentConfig>();

            config.Add(builder.ConfigureComponent(typeof(EndpointManager), ComponentCallModelEnum.Singleton));
            config.Add(builder.ConfigureComponent(typeof(TrackingManager), ComponentCallModelEnum.Singleton));
            config.Add(builder.ConfigureComponent(typeof(StatisticsManager), ComponentCallModelEnum.Singleton));
            config.Add(builder.ConfigureComponent(typeof(StatusManager), ComponentCallModelEnum.Singleton));         
        }

        private readonly IList<IComponentConfig> config;
    }
}